package top.zywork.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.web.bind.annotation.PathVariable;
import top.zywork.dos.SchoolOrderDO;
import com.baomidou.mybatisplus.extension.service.IService;
import top.zywork.query.wx.SchoolOrderWxQuery;
import top.zywork.vo.ResponseStatusVO;
import top.zywork.vo.wx.SchoolOrderPlaceVo;
import top.zywork.vo.wx.SchoolUserOrderWxVO;
import top.zywork.wx.query.CourierHallQuery;
import top.zywork.wx.response.CourierHallResponse;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author
 * @since 2020-10-13
 */
public interface SchoolOrderService extends IService<SchoolOrderDO> {

    /**
     * 代取下单
     * @param schoolOrderPlaceVo
     */
    ResponseStatusVO placeOrder(SchoolOrderPlaceVo schoolOrderPlaceVo);

    /**
     * 查询当前用户订单列表
     * @param schoolOrderWxQuery
     * @return
     */
    IPage<SchoolUserOrderWxVO> order(SchoolOrderWxQuery schoolOrderWxQuery);

    /**
     * 查看订单信息
     * @param orderId
     * @return
     */
    ResponseStatusVO orderDetails(String orderId);

    /**
     * 快递代拿需求大厅列表显示
     * @param courierHallQuery
     * @return
     */
    List<CourierHallResponse> courierHall(CourierHallQuery courierHallQuery);

    /**
     * 快递代拿需求大厅接单
     * @param orderId
     * @return
     */
    ResponseStatusVO courierOrder(String orderId);

    /**
     * 接单人拿到快递之后修改订单状态 为配送中
     * @param orderId
     * @return
     */
    ResponseStatusVO orderUserDistribution(String orderId);

    /**
     * 下单人拿到快递之后修改订单状态 为已完成
     * @param orderId
     * @return
     */
    ResponseStatusVO userDistribution(String orderId);

}
